package com.sq.partner.manager.dao;

import java.util.List;
import java.util.Map;

import com.sq.partner.manager.mybatis.model.TradInsuPlanGroup;

/**
 * 方案和方案组的关联
 * @author zhihuizhao
 *
 */
public interface ITradInsuPlanGroupDao extends BaseDao{

	/**
	 * 新增方案和方案组的关联
	 * @param group
	 * @return
	 * @throws Exception
	 */
	boolean addTradInsuPlanGroup(TradInsuPlanGroup group) throws Exception;
	
	/**
	 * 修改方案和方案组的关联
	 * @param group
	 * @return
	 * @throws Exception
	 */
	boolean updateTradInsuPlanGroup(TradInsuPlanGroup group) throws Exception;
	
	
	/**
	 * 删除方案和方案组的关联
	 * @param group
	 * @return
	 * @throws Exception
	 */
	boolean deleteTradInsuPlanGroup(TradInsuPlanGroup group) throws Exception;
	
	
	/**
	 * 查询方案组关联
	 * @param group
	 * @return
	 * @throws Exception
	 */
	List<TradInsuPlanGroup> queryTradInsuPlanGroup(TradInsuPlanGroup group) throws Exception;
	
	/**
	 * 删除方案和方案组的关联(根据方案号)
	 * @param insuPlanNumber
	 * @return
	 * @throws Exception
	 */
	boolean deleteTradInsuPlanGroup(String insuPlanNumber) throws Exception;
	
	
	/**
	 * 修改方案组关联的”是否必需“
	 * @param group
	 * @return
	 * @throws Exception
	 */
	boolean updateIsRequired(TradInsuPlanGroup group) throws Exception;
	/***
	 * 导出方案方案组查询
	 */
	List<TradInsuPlanGroup>  impNlifeGroup(Map<String, Object>map) throws Exception;
	/***
	 * 导出方案方案组查询意健险
	 */
	List<Map<String, Object>>  impNlifeGroup1(Map<String, Object>map) throws Exception;
   /**
    * 导出方案组表
    * @param maps
    * @return
    * @throws Exception
    */
	List<TradInsuPlanGroup> searchTradInsuPlanGroupsByplanCode(
			Map<String, Object> maps)  throws Exception;
	
	/**
	 *	批量新增方案和方案组的关联
	 * @param group
	 * @return
	 * @throws Exception
	 */
	void addPlanGroupList(List<TradInsuPlanGroup> group) throws Exception;

	List<Map<String, Object>> impRealGroupPlan(Map<String, Object> map)throws Exception;
}
